import axios from "axios";
import { Message } from 'element-ui';
/**
 * 开发环境， 以 /api 开头， 生产环境以实际为准
 */
// axios.defaults.baseURL = process.env.NODE_ENV == 'producetion' ? '服务器实际地址' : '/api';

//创建axios实例
const instance = axios.create({
	// `headers` 请求头的通用配置
	headers: {
		// 'X-Requested-With': 'XMLHttpRequest'
		'x-token' : localStorage.getItem("x-token")
	},
	timeout: 0, // `timeout` 指定请求超时的毫秒数(0 表示无超时时间)
	withCredentials: false, // `withCredentials` 表示跨域请求时是否需要使用凭证
});

// 请求拦截器
instance.interceptors.request.use(
	config => {
		// 根据不同请求，设置不同的Content-Type
		return config;
	},
	error => {
		//错误处理...
		return Promise.reject(error);
	}
);

// 响应拦截器
instance.interceptors.response.use(
	response => {
		if(response.status === 200) {
			if(response.data.code > 0) {
				Message.error(response.data.msg)
				return Promise.reject(response);
			}
			return response;
		}
		return Promise.reject(response);
	},
	error => {
		if(error.response.status == 401) {
			//强制跳转页面到login
			window.location.href = 'http://' + window.location.host + process.env.BASE_URL + 'login'
		}
		//错误处理...
		return Promise.reject(error);
	}
);

function request(config) {
	return instance.request(config);
}
export {request}
